﻿<!DOCTYPE HTML>
<html lang="zh">
<head>
<title>等待窗口关闭 - 语法 &amp; 使用 | AutoHotkey v2</title>
<meta name="description" content="The 等待窗口关闭 function waits 直到 no matching windows can be found." />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="../static/theme.css" rel="stylesheet" type="text/css" />
<script src="../static/content.js" type="text/javascript"></script>
<script type="text/javascript">$(function(){0<=window.navigator.userAgent.toLowerCase().indexOf("ucbrowser")&&CaoNiMaDeUc()})</script>
</head>
<body>

<h1>等待窗口关闭</h1>

<p>等待直到找不到匹配的窗口.</p>

<pre class="Syntax"><span class="func">等待窗口关闭</span> <span class="optional">WinTitle, WinText, Timeout, ExcludeTitle, ExcludeText</span></pre>
<h2 id="Parameters">参数</h2>
<dl>

  <dt>WinTitle</dt>
  <dd>
    <p>类型: <a href="../Concepts.htm#strings">字符串</a>, <a href="../Concepts.htm#numbers">整数</a>或<a href="../Objects.htm">对象</a></p>
    <p>识别目标窗口的窗口标题或其他条件. 请参阅 <a href="../misc/WinTitle.htm">WinTitle</a>.</p>
  </dd>

  <dt>WinText</dt>
  <dd>
    <p>类型: <a href="../Concepts.htm#strings">字符串</a></p>
    <p>如果存在, 此参数必须是目标窗口的单个文本元素的子字符串(和内置的 Window Spy 工具显示的一样). 如果 <a href="DetectHiddenText.htm">检测隐藏文本</a> 为 ON, 那么会检测隐藏文本元素.</p>
  </dd>

  <dt>Timeout</dt>
  <dd>
    <p>类型: <a href="../Concepts.htm#numbers">整数</a>或<a href="../Concepts.htm#numbers">浮点数</a></p>
    <p>超时并返回 0 前, 等待的秒数. 留空以允许函数无限期等待.</p>
  </dd>

  <dt>ExcludeTitle</dt>
  <dd>
    <p>类型: <a href="../Concepts.htm#strings">字符串</a></p>
    <p>标题中含有此参数值的窗口将被排除.</p>
  </dd>

  <dt>ExcludeText</dt>
  <dd>
    <p>类型: <a href="../Concepts.htm#strings">字符串</a></p>
    <p>文本中含有此参数值的窗口将被排除.</p>
  </dd>

</dl>

<h2 id="Return_Value">返回值</h2>
<p>类型: <a href="../Concepts.htm#boolean">整数(布尔值)</a></p>
<p>如果该函数超时, 则此函数返回 0(false), 否则返回 1(true).</p>

<h2 id="Remarks">备注</h2>
<p>如果没有匹配的窗口存在, 函数将不会等待 <em>Timeout</em> 过期. 相反, 它将立即返回 1 并让脚本继续执行. 相反, 即使关闭了匹配窗口, 函数也可以继续等待, 直到找不到更多的匹配窗口.</p>
<p>由于 <code>"A"</code> 匹配任何给定时刻处于活动状态的窗口, 因此 <code>等待窗口关闭 "A"</code> 通常无限期地等待. 要替代等待当前活动窗口关闭, 请指定其标题或唯一 ID, 如下例所示:</p>
<pre>等待窗口关闭 窗口存在("A")</pre>
<p>只要找到匹配的窗口, 等待窗口关闭 就会更新<a href="../misc/WinTitle.htm#LastFoundWindow">最后找到的窗口</a>. 这样做的一个用途是在函数超时后识别或操作窗口. 例如:</p>
<pre>
界面.新建("", "Test window " 随机数()).显示("w300 h50")  <em>; 显示测试窗口.</em>
如果 !等待窗口关闭("Test",, 5)  <em>; 等待 5 秒钟以让人关闭窗口.</em>
{
    信息框 "Window not yet closed: " 获取窗口标题()
    关闭窗口  <em>; 关闭 等待窗口关闭 找到的窗口.</em>
}
</pre>
<p>当函数处于等待状态时, 可以通过<a href="../Hotkeys.htm">热键</a>, <a href="../objects/Menu.htm">自定义菜单项</a>或<a href="SetTimer.htm">计时器</a>启动新的<a href="../misc/Threads.htm">线程</a>.</p>
<p>如果另一个<a href="../misc/Threads.htm">线程</a>更改了用于该函数参数的任何变量的内容, 该函数将不会看到更改 -- 它将继续使用在函数首次开始等待时最初出现在变量中的标题和文本.</p>
<p>窗口标题和文本是区分大小写的. 除非 <a href="DetectHiddenWindows.htm">检测隐藏窗口</a> 被打开, 否则不会检测隐藏窗口.</p>

<h2 id="Related">相关</h2>
<p><a href="WinClose.htm">关闭窗口</a>, <a href="WinWait.htm">等待窗口</a>, <a href="WinWaitActive.htm">等待窗口激活</a>, <a href="WinExist.htm">窗口存在</a>, <a href="WinActive.htm">窗口已激活</a>, <a href="ProcessWaitClose.htm">等待进程关闭</a>, <a href="SetTitleMatchMode.htm">设置标题匹配模式</a>, <a href="DetectHiddenWindows.htm">检测隐藏窗口</a></p>
<h2 id="Examples">示例</h2>
<div class="ex" id="ExBasic">
<p><a href="#ExBasic">#1</a></p>
<pre>运行 "notepad.exe"
等待窗口 "无标题 - 记事本"
等待窗口关闭  <em>; 等待 等待窗口 找到的确切窗口被关闭.</em>
信息框 "Notepad is now closed."</pre>
</div>

</body>
</html>